// pages/my/my.js
import { BookModel } from '../../models/book.js'
import { ClassicModel } from '../../models/classic.js'

const classicModel = new ClassicModel()
const bookModel = new BookModel()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    authorized:false,
    userInfo:{},
    bookNum:0,
    classics:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.userAuthorized()
  },
  userAuthorized:function(){
   //验证用户是否授权
    wx.getSetting({
      success:data=>{
        if(data.authSetting['scope.userInfo']){
          wx.getUserInfo({
            success:data=>{
              this.setData({
                authorized: true,
                userInfo: data.userInfo
              })
            }
          })
          this._getBookNum()
          this.getMyfavor()
        }
      }
    })
  },
  onGetUserInfo:function(event){
    const userMessage = event.detail.userInfo
    //防止用户拒绝的情况
    if (userMessage){
      this.setData({
        authorized: true,
        userInfo: userMessage
      }) 
      this._getBookNum()
      this.getMyfavor()
    } 
  },
  //获取喜欢书籍数量
  _getBookNum:function(){
    bookModel.getLikeBookNum()
    .then(res=>{
      this.setData({
        bookNum: res.count
      })
    })
  },
  //获取喜欢的期刊
  getMyfavor(){
    classicModel.getikeCalssic(res=>{
      this.setData({
        classics: res
      })
    })
  },
  //跳转到期刊详情页
  onJumpToDetail(event){
    const cid = event.detail.cid
    const type = event.detail.type
    wx.navigateTo({
      url:`/pages/classic-detail/classic-detail?cid=${cid}&type=${type}`
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getMyfavor()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})